<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    姚凯  16619816985(手机号+微信号)   初级+中级

    <script>
        // Array.prototype.map=function map(fn){
        //     //1.this--arr  参数:fn
        //    let narr=[];
        //    for(let i=0;i<this.length;i++){
        //         narr.push(fn(this[i],i))
        //         //narr[i]=fn()
        //    }
        //    return narr;
        // }

        // var arr=[1,2,3];
        // let newarr=arr.map((item,index)=>{
        //     return item+1
        // })
        // console.log(newarr);

        // let obj = {
        //     name:'zf',
        //     age:12,
        //     b:2
        // };
        // let {age=10,name='zhufeng',bb=22} = obj;
        // console.log(age,name,bb)//12 'zf' 22

        // var obj1 = {
        //    a: 1
        // }
        // var obj2 = {
        //     a: 2,
        //     foo1: function () {
        //         console.log(this.a)
        //     },
        //     foo2: function () {
        //         //console.log(this);//obj2   obj1
        //         setTimeout(function () {
        //           console.log(this.a)//window.a   window.a
        //         }, 0)
        //     }
        // }
        // var a = 3

        // obj2.foo1()//2  this-->obj2
        // obj2.foo1.call(obj1)//obj2.foo1函数执行  this-->obj1  1

        // obj2.foo2()//this--obj1  3
        // obj2.foo2.call(obj1)//obj2.foo2函数执行 this-->obj1  3


        // function foo () {
        //     console.log(this.a);//window.a   obj.a
        //     return function () {
        //         console.log(this.a);//obj.a
        //     }
        // }
        // var obj = { a: 1 };
        // var a = 2;

        // foo();//this--window  2
        // foo.call(obj);//foo函数执行 this--obj  1
        // foo().call(obj);//1. foo()  2.返回的函数.call(obj)
        // //1. foo()  this--window  2
        // //2. 返回的函数.call(obj)  返回的函数执行 this--obj 1

        // Array.prototype.unique = function () {
        //     // let ary = [];
        //     // this.forEach(item => {
        //     //     if (ary.indexOf(item) === -1) {
        //     //         ary.push(item)
        //     //     }
        //     // })
        //     // return ary

        //     //1.this--arr
        //     let seta=new Set(this);
        //     return Array.from(seta);
        // }
        // var arr=[1,2,3,1,2,3];
        // let newarr=arr.unique();
        // console.log(newarr);

        Number.prototype.plus = function (num = 0) {
            return this + num;
        };
        Number.prototype.minus = function (num = 0) {
            return this - num;
        };
        
        let n = 10;
        let m = n.plus(10).minus(5);
        console.log(m);//=>15（10+10-5）
       
    </script>
</body>

</html>